package com.huike.pmps.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 作者：谌贵斌(黑桃K)
 * 日期: 2888-08-08
 * 老师QQ: 272488352
 * 官方QQ交流群: 377748272
 * 刀客程序员官网：http://www.daoke360.com
 * 刀客程序员淘宝旗舰店：https://daoke360.taobao.com/
 */

/**
 * 课程供应商
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("p_po_course_supplier_detail")
public class POCourseSupplierDetail {
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty("po课程主键id")
    private Integer poCourseId;
    @ApiModelProperty("p_po表主键id")
    private Integer poId;
    @ApiModelProperty("po单号")
    private String po;
    @ApiModelProperty("po对应的合同金额")
    private BigDecimal poContractAmount;
    @ApiModelProperty("客户名称")
    private String customerName;
    @ApiModelProperty("战区ID")
    private Integer regionId;
    @ApiModelProperty("战区名称")
    private String regionName;
    @ApiModelProperty("省份ID")
    private Integer provinceId;
    @ApiModelProperty("省份名称")
    private String provinceName;
    @ApiModelProperty("课程经理/负责人ID")
    private Integer courseChargeId;
    @ApiModelProperty("课程经理/负责人名字")
    private String courseChargeName;
    @ApiModelProperty("课程ID")
    private Long courseId;
    @ApiModelProperty("课程名称")
    private String courseName;
    @ApiModelProperty("学科门类ID")
    private Integer subjectCategoryId;
    @ApiModelProperty("学科门类名称")
    private String subjectCategoryName;
    @ApiModelProperty("专业类别")
    private String majorCategory;
    @ApiModelProperty("拍摄形式ID")
    private Integer shootModeId;
    @ApiModelProperty("拍摄形式名称")
    private String shootModeName;
    @ApiModelProperty("供应商类型ID")
    private Integer supplierTypeId;
    @ApiModelProperty("供应商类型名称")
    private String supplierTypeName;
    @ApiModelProperty("供应商主键ID")
    private Integer supplierId;
    @ApiModelProperty("供应商名称")
    private String supplierName;
    @ApiModelProperty("服务类型ID")
    private Integer serviceTypeId;
    @ApiModelProperty("服务类型名称")
    private String serviceTypeName;
    @ApiModelProperty("服务名称")
    private String serviceName;
    @ApiModelProperty("预估结算日期")
    private Date estimatedSettlementDate;
    @ApiModelProperty("单价")
    private BigDecimal unitPrice;
    @ApiModelProperty("数量")
    private Double quantity;
    @ApiModelProperty("预估成本")
    private BigDecimal estimatedGenerationCost;
    @ApiModelProperty("已支付")
    private BigDecimal supplierPaidAmount;
    @ApiModelProperty("未支付")
    private BigDecimal supplierUnpaidAmount;
    @ApiModelProperty("供应商评级")
    private Double finalEvaluation;
    @ApiModelProperty(value = "验收单保存路径",hidden = true)
    private String acceptanceReportPath;
    @ApiModelProperty("描述")
    private String description;
    @ApiModelProperty(value = "导入标记(1非导入,2导入)", hidden = true)
    private Integer importFlag;
    @ApiModelProperty(value = "从旧系统中导入的原始PO课程ID", hidden = true)
    private Integer importCourseId;
    @ApiModelProperty(value = "从旧系统中导入的原始服务ID", hidden = true)
    private Integer importServiceId;
    @ApiModelProperty("编辑状态（false or true）")
    private Boolean rowEdit;
    @ApiModelProperty(value = "记录状态(0初始状态、1生成了新结算单)")
    private Integer state;
    @ApiModelProperty(value = "记录更新时间", hidden = true)
    private Date updateTime;
    @ApiModelProperty(value = "记录创建时间", hidden = true)
    private Date createTime;

}
